/**
 * 
 */
package org.intelligentsia.temporal;

import org.intelligentsia.temporal.primitives.BooleanTemporal;
import org.intelligentsia.temporal.primitives.BooleanTemporalFactory;
import org.intelligentsia.temporal.primitives.LongTemporal;
import org.intelligentsia.temporal.primitives.LongTemporalFactory;
import org.intelligentsia.temporal.primitives.StringTemporal;
import org.intelligentsia.temporal.primitives.StringTemporalFactory;

/**
 * Temporal container utility.
 * 
 * @author <a href="mailto:jguibert@intelligents-ia.com" >Jerome Guibert</a>
 * 
 */
public enum Temporals {
	;

	/**
	 * @return a new instance of <code>TemporalContainer<LongTemporal></code>.
	 */
	public static TemporalContainer<LongTemporal> getLongTemporalContainer() {
		return new TemporalContainer<LongTemporal>(new LongTemporalFactory());
	}

	/**
	 * @return a new instance of <code>TemporalContainer<BooleanTemporal></code>.
	 */
	public static TemporalContainer<BooleanTemporal> getBooleanTemporalContainer() {
		return new TemporalContainer<BooleanTemporal>(new BooleanTemporalFactory());
	}

	/**
	 * @return a new instance of <code>TemporalContainer<StringTemporal></code>.
	 */
	public static TemporalContainer<StringTemporal> getStringTemporalContainer() {
		return new TemporalContainer<StringTemporal>(new StringTemporalFactory());
	}
}
